From 347d406f80f2140a466da30764171cd92aa7d7ea Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Fri, 19 Feb 2010 17:04:20 +0100 Subject: [PATCH] Bug 548026 - No accessor for GtkWidget.requisition Add gtk_widget_get_requisition(). --- gtk/gtk.symbols | 1 + gtk/gtkwidget.c | 26 ++++++++++++++++++++++++++ gtk/gtkwidget.h | 3 +++ 3 files changed, 30 insertions(+) diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index d6aa08907d..167936dc99 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -5123,6 +5123,7 @@ gtk_widget_get_parent_window gtk_widget_get_pointer gtk_widget_get_receives_default gtk_widget_get_root_window +gtk_widget_get_requisition gtk_widget_get_screen gtk_widget_get_sensitive gtk_widget_get_settings diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 0c67bfbb4a..4adba85299 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -11195,6 +11195,32 @@ gtk_widget_set_allocation (GtkWidget *widget, widget->allocation = *allocation; } +/** + * gtk_widget_get_requisition: + * @widget: a #GtkWidget + * @requisition: (out): a pointer to a #GtkRequisition to copy to + * + * Retrieves the widget's requisition. + * + * This function should only be used by widget implementations in + * order to figure whether the widget's requisition has actually + * changed after some internal state change (so that they can call + * gtk_widget_queue_resize() instead of gtk_widget_queue_draw()). + * + * Normally, gtk_widget_size_request() should be used. + * + * Since: 2.20 + */ +void +gtk_widget_get_requisition (GtkWidget *widget, + GtkRequisition *requisition) +{ + g_return_if_fail (GTK_IS_WIDGET (widget)); + g_return_if_fail (requisition != NULL); + + *requisition = widget->requisition; +} + /** * gtk_widget_set_window: * @widget: a #GtkWidget diff --git a/gtk/gtkwidget.h b/gtk/gtkwidget.h index 757be3f685..0f361f371c 100644 --- a/gtk/gtkwidget.h +++ b/gtk/gtkwidget.h @@ -955,6 +955,9 @@ void gtk_widget_get_allocation (GtkWidget *widget, void gtk_widget_set_allocation (GtkWidget *widget, const GtkAllocation *allocation); +void gtk_widget_get_requisition (GtkWidget *widget, + GtkRequisition *requisition); + gboolean gtk_widget_child_focus (GtkWidget *widget, GtkDirectionType direction); gboolean gtk_widget_keynav_failed (GtkWidget *widget, -- 2.30.2